Express 是一個成熟的 node.js Web 框架,基本上使用 node.js 寫 Web Server 或是 Web API ,應該都接觸過此框架,可以說是入門必經之路,甚至 npm 的 週下載 ( Weekly Downloads ) 經常維持在一千多萬次。
究竟 Express 有什麼魔力讓這麼多開發者使用?
答案就是 輕量、快速 以及 易用。
架設一個 Web Server 有多簡單呢?如下方程式碼所示,只需要短短幾行就可以架設完畢,並且很容易閱讀!
const express = require('express');
const app = express();
app.get('/', (req, res, next) => {
res.send('Hello, World!!');
});
app.listen(3000, () => console.log('http server is running at port 3000.'));
Express 雖然很容易入門、上手,但它本身並 沒有嚴謹的架構規範 ,在設計架構上會面臨許多挑戰,一不小心就會寫出 高耦合 、 低內聚 的程式碼,若再搭配 JavaScript 開發,在很多情況下無法很直覺地知道變數是何種型別,後續的維護更是一個大問題。所以要在大型專案上使用 Express 的話,需要制定一套軟體架構來規範整個專案,避免遺憾的發生!
這個問題就是本系列文的重點了!雖然網路上有許多資源在教 Express 如何使用,但較少資源在教 Express 如何設計,而本系列文融合以上兩點,針對 Express 做基本的教學,並帶大家一起設計較好維護的 Express 專案,有興趣的讀者們可以參考這個系列文所採用的軟體架構,或許就是最適合你的方法喔!
本系列文前面的篇章會先帶給讀者 軟體架構的知識 ,如:MVC,接著會介紹 Express 的基本用法 ,最後就是用 軟體架構搭建 Express 應用 !所以建議讀者們從頭開始閱讀,會有較好的理解與學習效果喔!